.dx-calendar {
    .user-select(none);
    position: relative;
    display: block;

    &.dx-calendar-with-footer {
        .dx-calendar-footer {
            position: absolute;
            bottom: 0;
        }
    }
}

.dx-calendar-views-wrapper {
    width: 100%;
    height: 100%;
    position: relative;
}

.dx-calendar-navigator {
    position: relative;
    text-align: center;
    width: 100%;

    .dx-button {
        position: absolute;
        display: inline-block;

        &.dx-calendar-disabled-navigator-link {
            visibility: hidden;
        }
    }

    .dx-calendar-caption-button {
        text-decoration: none;
    }
}

.dx-calendar-body {
    overflow: hidden;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;

    .dx-widget {
        position: absolute;
        width: 100%;
        height: 100%;
    }

    table {
        width: 100%;
        height: 100%;
        position: absolute;
        direction: ltr;
    }

    td {
        cursor: pointer;
        .box-sizing(content-box);
    }
}

.dx-calendar-cell {
    white-space: normal;
}

.dx-calendar-contoured-date {
    outline-offset: -1px;
}

.dx-rtl {
    &.dx-calendar {
        .dx-calendar-body {
            table {
                left: 0px;
            }

            .dx-widget {
                direction: ltr;
            }
        }
    }
}

.dx-state-disabled {
    .dx-calendar,
    &.dx-calendar {
        .dx-calendar-navigator-previous-month,
        .dx-calendar-navigator-next-month {
            cursor: default;
        }
    }

    .dx-calendar-body {
        table {
            th, td {
                cursor: default;
            }
        }
    }
}
